Skip to main content

Services Staff

services-staff (VMID 119, 10.0.0.19) hosts staff/internal tooling split off the legacy monolithic services VM, plus the team's self-hosted Gitea and Rocket.Chat.

Configured by ansible/hetzner-main/setup-services-staff.yml; each app's Docker Compose definition lives under ansible/hetzner-main/services-staff-apps/<app>/ in the automation repo.

note

This VM was bumped from 2 cores / 2 GB to 4 cores / 4 GB in Terraform after it started wedging under memory pressure once irishfst was added. Since there's no hotplug, the resize itself was done cold on the Proxmox host (qm shutdown && qm set --cores 4 --memory 4096 && qm start) — see the resize note on the Webserver page for why that has to happen on the host, not via terraform apply.

Applications

AppNotes
backoffice
backoffice-services
translations-editor
cul
irishfstIrish part-of-speech tagger API; the FST model is baked into the image
Giteagitea.abair.ie — self-hosted Git, own tag (gitea), backed by its own Postgres container; registration disabled, HTTPS-only (no SSH clone)
Rocket.Chatalerts.abair.ie — staff chat, own tag (rocketchat), backed by its own single-node MongoDB replica set

Deploying apps

The stateless apps (backoffice, backoffice-services, translations-editor, cul, irishfst) deploy under the apps tag — make deploy-services-staff-apps syncs and redeploys all of them together.

Gitea and Rocket.Chat are stateful and deploy independently under their own tags, since redeploying them touches a live database:

make deploy-gitea
make deploy-rocketchat

Firewall

Only the webserver VM may reach this host's ports.